package cn.corgy.module.loadbalance;

import cn.corgy.dto.RpcRequest;
import cn.corgy.extension.SPI;

import java.util.List;

/**
 * 策略初始接口
 */
@SPI
public interface LoadBalance {
    /**
     * 从服务地址中选择一个服务地址
     *
     * @param serviceUrlList 请求列表
     * @param rpcRequest     RPC请求实体类
     * @return 目标服务地址
     */
    String selectServiceAddress(List<String> serviceUrlList, RpcRequest rpcRequest);
}
